<template>
  <div class="wraper">
    <!-- v-if="showSwiper" 解决轮播图从最后一张开始的第 2 步 -->
    <swiper :options="swiperOption" v-if="showSwiper">
      <!-- 使 slides 循环 v-for -->
      <swiper-slide v-for="item of list" :key="item.id">
        <img class="swiper-img" :src="item.imgUrl" />
      </swiper-slide>
      <!-- 小圆点 -->
      <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HomeSwiper',
  // 接受父组件传递的数据
  props: {
    list: Array
  },
  // 在子组件定义 data 的时候, data 一定得是一个函数
  data () {
    return {
      swiperOption: {
        // 绑定分页小圆点
        pagination: '.swiper-pagination',
        // 让轮播插件支持循环轮播
        loop: true
      }
    }
  },
  // 计算属性
  computed: {
    // 解决轮播图从最后一张开始的第 1 步
    showSwiper () {
      return this.list.length
    }
  }
}
</script>

<style lang="stylus" scoped>
  // 可以穿透，使作用在其他组件上，不受scoped的限制
  .wraper >>> .swiper-pagination-bullet-active
    background-color #fff
  .wraper
    overflow hidden
    width 100%
    height 0
    padding-bottom 31.25%
    background-color #eee
    .swiper-img
      width 100%
      height 117.25px
</style>
